package com.panda.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.panda.common.annotation.Excel;
import com.panda.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 返款任务看板对象 t_panda_rebates_task
 * 
 * @author panda
 * @date 2021-02-28
 */
public class TPandaRebatesTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 任务明细ID */
    @Excel(name = "任务明细ID")
    private String taskDetailId;

    /** 返款类型 */
    @Excel(name = "返款类型")
    private Integer rebatesType;

    /** 返款渠道 0微信收款码 1银行卡 */
    private String rebatesChannel;

    @Excel(name = "返款渠道")
    private String rebatesChannelShow;

    /** 返款渠道明细 */
    @Excel(name = "返款渠道明细")
    private String rebatesWay;

    /** 返款金额 */
    @Excel(name = "佣金")
    private BigDecimal rebatesAmount;

    /** 状态（0新建 1待返款，2已返款，3已完成） */
    private String status;

    @Excel(name = "状态", readConverterExp = "0=新建,1=待返款，2已返款，3已完成")
    private String statusShow;

    /** 责任人 ID */
    private Long responsibleUserId;

    /**
     * ==============扩展字段======================
     */
    /** 交易量 */
    @Excel(name = "交易量")
    private Integer tradingVolume;

    /** 买家旺旺 */
    @Excel(name = "买家旺旺")
    private String buyerNick;


    /** 交易类型 0当天 1预留 */
    private String tradingType;

    @Excel(name = "交易类型")
    private String tradingTypeShow;

    /** 订单类型 0现结单 1评价 */
    private String orderType;

    @Excel(name = "订单类型")
    private String orderTypeShow;

    /** 用户类型 0新人 1老人 */
    private String buyerType;

    @Excel(name = "用户类型")
    private String buyerTypeShow;

    /** 操作员 */
    private String userName;

    /** 金额 */
    @Excel(name = "产品价格")
    private BigDecimal price;

    // =============筛选条件================
    /** 店铺名称 */
    @Excel(name = "店铺名称")
    private String storeName;


    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;


    /** 月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date tastDate;

    private Date startTime;
    private Date endTime;

    /** 店铺是否集成 */
    private boolean integration;

    /** 操作员 */
    @Excel(name = "操作员")
    private String responsibleUserName;



    private String secret;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTaskDetailId(String taskDetailId) 
    {
        this.taskDetailId = taskDetailId;
    }

    public String getTaskDetailId() 
    {
        return taskDetailId;
    }
    public void setRebatesType(Integer rebatesType) 
    {
        this.rebatesType = rebatesType;
    }

    public Integer getRebatesType() 
    {
        return rebatesType;
    }
    public void setRebatesChannel(String rebatesChannel) 
    {
        this.rebatesChannel = rebatesChannel;
    }

    public String getRebatesChannel() 
    {
        return rebatesChannel;
    }
    public void setRebatesWay(String rebatesWay) 
    {
        this.rebatesWay = rebatesWay;
    }

    public String getRebatesWay() 
    {
        return rebatesWay;
    }
    public void setRebatesAmount(BigDecimal rebatesAmount) 
    {
        this.rebatesAmount = rebatesAmount;
    }

    public BigDecimal getRebatesAmount() 
    {
        return rebatesAmount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setResponsibleUserId(Long responsibleUserId) 
    {
        this.responsibleUserId = responsibleUserId;
    }

    public Long getResponsibleUserId() 
    {
        return responsibleUserId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskDetailId", getTaskDetailId())
            .append("rebatesType", getRebatesType())
            .append("rebatesChannel", getRebatesChannel())
            .append("rebatesWay", getRebatesWay())
            .append("rebatesAmount", getRebatesAmount())
            .append("status", getStatus())
            .append("responsibleUserId", getResponsibleUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }

    public Integer getTradingVolume() {
        return tradingVolume;
    }

    public void setTradingVolume(Integer tradingVolume) {
        this.tradingVolume = tradingVolume;
    }

    public String getBuyerNick() {
        return buyerNick;
    }

    public void setBuyerNick(String buyerNick) {
        this.buyerNick = buyerNick;
    }

    public String getTradingType() {
        return tradingType;
    }

    public void setTradingType(String tradingType) {
        this.tradingType = tradingType;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getBuyerType() {
        return buyerType;
    }

    public void setBuyerType(String buyerType) {
        this.buyerType = buyerType;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public Date getTastDate() {
        return tastDate;
    }

    public void setTastDate(Date tastDate) {
        this.tastDate = tastDate;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getRebatesChannelShow() {
        return rebatesChannelShow;
    }

    public void setRebatesChannelShow(String rebatesChannelShow) {
        this.rebatesChannelShow = rebatesChannelShow;
    }

    public String getStatusShow() {
        return statusShow;
    }

    public void setStatusShow(String statusShow) {
        this.statusShow = statusShow;
    }

    public String getTradingTypeShow() {
        return tradingTypeShow;
    }

    public void setTradingTypeShow(String tradingTypeShow) {
        this.tradingTypeShow = tradingTypeShow;
    }

    public String getOrderTypeShow() {
        return orderTypeShow;
    }

    public void setOrderTypeShow(String orderTypeShow) {
        this.orderTypeShow = orderTypeShow;
    }

    public String getBuyerTypeShow() {
        return buyerTypeShow;
    }

    public void setBuyerTypeShow(String buyerTypeShow) {
        this.buyerTypeShow = buyerTypeShow;
    }

    public boolean isIntegration() {
        return integration;
    }

    public void setIntegration(boolean integration) {
        this.integration = integration;
    }

    public String getSecret() {
        return secret;
    }

    public void setSecret(String secret) {
        this.secret = secret;
    }

    public String getResponsibleUserName() {
        return responsibleUserName;
    }

    public void setResponsibleUserName(String responsibleUserName) {
        this.responsibleUserName = responsibleUserName;
    }
}
